package com.aidex.biz.domain;

import com.aidex.common.annotation.Excel;
import com.aidex.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 需求工单对象 biz_worker_list
 *
 * @author sean
 * @email 2074844820@qq.com
 * @date 2025-08-18
 */
@Data
public class WorkerList extends BaseEntity<WorkerList> {
    private static final long serialVersionUID = 1L;


    /**
     * 公司ID
     */
    private String companyId;

    /**
     * 内容
     */
    @Excel(name = "内容")
    private String content;

    /**
     * 提报人
     */
    @Excel(name = "提报人")
    private String tibaoUser;

    /**
     * 完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date wanchengTime;

    /**
     * 完成时间开始
     */
    private String beginWanchengTime;

    /**
     * 完成时间结束
     */
    private String endWanchengTime;
    /**
     * 计划时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planTime;

    /**
     * 计划时间开始
     */
    private String beginPlanTime;

    /**
     * 计划时间结束
     */
    private String endPlanTime;
    /**
     * 工期
     */
    @Excel(name = "工期")
    private Integer gongqi;

    /**
     * 需求、BUG、设计
     */
    @Excel(name = "需求、BUG、设计", dictType = "worker_type")
    private String type;

    /**
     * 开发人员
     */
    @Excel(name = "开发人员")
    private String worker;


    private String projectName;
    private String img;
    /**
     * 排序
     */
    @Excel(name = "排序")
    private Integer sort;

    /**
     * 状态（0待完成 1开发中 2完成 3取消 ）
     */
    @Excel(name = "状态", dictType = "worker_status")
    private String status;


    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public String getCompanyId() {
        return companyId;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getContent() {
        return content;
    }

    public void setTibaoUser(String tibaoUser) {
        this.tibaoUser = tibaoUser;
    }

    public String getTibaoUser() {
        return tibaoUser;
    }

    public void setWanchengTime(Date wanchengTime) {
        this.wanchengTime = wanchengTime;
    }

    public Date getWanchengTime() {
        return wanchengTime;
    }

    public void setPlanTime(Date planTime) {
        this.planTime = planTime;
    }

    public Date getPlanTime() {
        return planTime;
    }

    public void setGongqi(Integer gongqi) {
        this.gongqi = gongqi;
    }

    public Integer getGongqi() {
        return gongqi;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getType() {
        return type;
    }

    public void setWorker(String worker) {
        this.worker = worker;
    }

    public String getWorker() {
        return worker;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public Integer getSort() {
        return sort;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("userId", getUserId()).append("deptId"
                , getDeptId()).append("userName", getUserName()).append("deptName", getDeptName()).append("companyId"
                , getCompanyId()).append("content", getContent()).append("tibaoUser", getTibaoUser()).append(
                        "wanchengTime", getWanchengTime()).append("planTime", getPlanTime()).append("gongqi",
                getGongqi()).append("type", getType()).append("worker", getWorker()).append("sort", getSort()).append("status", getStatus()).append("remark", getRemark()).append("id", getId()).append("createBy", getCreateBy()).append("createDept", getCreateDept()).append("createTime", getCreateTime()).append("updateBy", getUpdateBy()).append("updateTime", getUpdateTime()).append("updateIp", getUpdateIp()).append("version", getVersion()).append("delFlag", getDelFlag()).toString();
    }
}
